package com.mccrea.pattern.singleton.type3;


/**
 * @Classname SingleTonTest03
 * @Description 单例模式 懒汉式（线程不安全） 测试
 * @Date 2021/5/7 0007 14:19
 * @Created by Mccrea_Gao
 */
public class SingleTonTest03 {
    public static void main(String[] args) {
        SingleTon03 instance = SingleTon03.getInstance();
        SingleTon03 instance1 = SingleTon03.getInstance();
        System.out.println(instance);
        System.out.println(instance1);
    }
}

/**
 * 单例模式 懒汉式（线程不安全）
 * 1） 构造器私有化，
 * 2） 类的内部创建实例，
 * 3） 向外暴露一个静态的公共方法，当使用到该方法时才去创建并初始化对象。
 */
class SingleTon03 {
    // 构造器私有化
    private SingleTon03() {

    }
    // 创建单例对象
    private static SingleTon03 instance;

    // 获取单例对象，为空时，创建对象
    public static SingleTon03 getInstance() {
        if (instance == null) {
            instance = new SingleTon03();
        }
        return instance;
    }
}
